/// 常量、延迟初始化静态变量
///
///
use lazy_static::lazy_static;
use crate::app_config::AppConfig;

// 懒加载的静态变量。在第一次调用时初始化，并缓存结果。
lazy_static! {
    pub static ref FOO: String = {
        println!("initializing FOO");
        "foo".to_string()
    };
}

// const WEB_CONFIG_DIR: String = Path::new("crates/services/web-server").join("config").display().to_string();

lazy_static! {
    pub static ref APP_CONFIG: AppConfig = {
        let config: AppConfig = AppConfig::new();
        config
    };
}

// 必须配置环境变量
lazy_static! {
    pub static ref ENV_PROFILES_ACTIVE_KEY: String = "YM_APP_PROFILES_ACTIVE".to_string();
    pub static ref ENV_LOGGER_LEVEL_KEY: String = "YM_APP_LOG_LEVEL".to_string();
}
